package com.gxa.hualian.controller;

import com.gxa.hualian.pojo.Users;
import com.gxa.hualian.service.UserService;
import com.gxa.hualian.utils.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

//当用户发起/user请求，就匹配到该controller中来
@RequestMapping(value = "/user",method = {RequestMethod.GET,RequestMethod.POST})
@Controller
@ResponseBody
public class UserController {
    @Autowired
    private UserService userService=null;
    @Autowired
    private JsonResult jsonResult =null;

    @RequestMapping("/getString")

    public String get(){
        System.out.println("请求成功");
        //如果一个方法只返回字符串，表示转发
        //如果登录成功跳转到主页：return "WEB-INF/jsp/index.jsp"
        //springmvc 可以通过配置前缀和后缀的方式

        //如果该返回值要给前端返回，据需要@ ResponseBody (响应体)
        //ResponseBody 注解可以加载方法上/类上（让所有方法都可以返回）
        return "success";
    }
    //springmvc在返回对象的时候，可以自动序列化为json
    //依赖第三方json工具：jackson

    //处理参数：
    //在方法中声明参数，Integer id 表示前端传入的参数也必须命名为id
    //还可以使用@ResquestParam(参数名)，可以让前端的参数和方法参数主动匹配
    @RequestMapping("/get")

    public Users getUsers(@RequestParam("id") Integer myid){
        System.out.println("id:"+myid);
        Users users = new Users();
        users.setName("张三峰");
        users.setPhone("133");
        return users;
    }

    @RequestMapping("/selectAll")
    public JsonResult selectAll(@RequestParam("param")String param,@RequestParam("page")Integer page,@RequestParam("size")Integer size){
        List<Users> users = userService.selectAll(param, page, size);
        jsonResult.setCode("1");
        jsonResult.setMsg("查询成功");
        jsonResult.setData(users);
        return jsonResult;

    }
    @RequestMapping("/insertUser")
    public JsonResult insertUser( Users users){
        int i = userService.insertUser(users);
        jsonResult.setCode("1");
        jsonResult.setMsg("添加成功");
        return jsonResult;
    }
}
